// 此vm参数为页面的实例，可以通过它引用vuex中的变量
module.exports = (vm) => {
	// 初始化请求配置
	uni.$u.http.setConfig((config) => {
		/* config 为默认全局配置*/
		config.baseURL = "https://api.asiatechwire.com/mobile"; /*  线上根域名 */
		// config.baseURL = "http://www.atw.com/mobile"; /* 线下根域名 */
		config.timeout = 600000;
		return config;
	});
	// 请求拦截
	uni.$u.http.interceptors.request.use(
		(config) => {
			config.data = config.data || {};
			// 根据custom参数中配置的是否需要token，添加对应的请求头
			// config.header['content-language'] = 'cn';
			if (uni.getStorageSync("token")) {
				// 可以在此通过vm引用vuex中的变量，具体值在vm.$store.state中
				config.header['User-Token'] = uni.getStorageSync("token"); //登录时保存的token值，后面登录信息过后更换


			}
			config.header.Terminal = uni.getSystemInfoSync().platform; //设备ios，安卓
			// config.header['Content-Type'] = 'application/x-www-form-urlencoded';
			return config;
		},
		(config) => {
			// 可使用async await 做异步操作
			return Promise.reject(config);
		}
	);
	// 响应拦截
	uni.$u.http.interceptors.response.use(
		(response) => {
			const data = response.data;
			// 自定义参数
			if (data.code !== 200) {
				if (data.code == 100) {
					uni.redirectTo({
						url: "/pages/my/login/login",
					});
					uni.clearStorage();
				}
				uni.$u.toast(data.msg);
				return Promise.reject(data);
			}
			return data.data === undefined ? {} : data.data;
			// return data.resultObj//测试
		},
		(response) => {
			// 对响应错误做点什么 （statusCode !== 200）
			return Promise.reject(response);
		}
	);
};
